﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class Admin_EditProvider : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!(Roles.IsUserInRole("Admin")))
        {
            Response.Redirect("~/Admin/login.aspx");
        }
        if (Request.Form["act"] == null)
        {
            string act = "";
            int page = 1;
            string objId ="";
            if (Request.QueryString["act"] != null)
                act = Request.QueryString["act"].ToString();
            if (Request.QueryString["id"] != null)
                objId =Request.QueryString["id"].ToString();
            if (Request.QueryString["Page"] != null)
                page = Convert.ToInt32(Request.QueryString["Page"].ToString());

            if (act == "" || objId =="") Response.Redirect("ProviderManager.aspx?Page="+page);
            NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
            NhaCungCap objInfo = new NhaCungCap();
            if (act != "" && objId != "")
            {
                if (act == "view")
                {
                    MatKhauNhaCungCapTextBox.Enabled = false;
                    TenNhaCungCapTextBox.Enabled = false;
                    TenDangNhapWSTextBox.Enabled = false;
                    MatKhauWSTextBox.Enabled = false;
                    CreditCardTextBox.Enabled = false;
                    LinkWSTextBox.Enabled = false;
                    btnCapNhat.Visible = false;
                    NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.information, "Thông tin chi tiết");
                }
                if ((from obj in db.NhaCungCaps
                     where obj.ProviderID.Equals(objId)
                     select obj).Count() > 0)
                {
                    objInfo = (from obj in db.NhaCungCaps
                               where obj.ProviderID.Equals(objId)
                               select obj).Single();

                    MaNhaCungCapLabel.Text = objInfo.ProviderID.ToString();
                    if (objInfo.ProviderPwd != null)
                       MatKhauNhaCungCapTextBox.Text = objInfo.ProviderPwd;
                    else
                        MatKhauNhaCungCapTextBox.Text = "";

                    if (objInfo.ProviderName != null)
                        TenNhaCungCapTextBox.Text = objInfo.ProviderName;
                    else
                        TenNhaCungCapTextBox.Text = "";

                    if (objInfo.PartnerID != null)
                        TenDangNhapWSTextBox.Text = objInfo.PartnerID;
                    else
                        TenDangNhapWSTextBox.Text = "";

                    if (objInfo.PartnerPwd != null)
                        MatKhauWSTextBox.Text = objInfo.PartnerPwd;
                    else
                        MatKhauWSTextBox.Text = "";

                    if (objInfo.CreditCardNumber != null)
                        CreditCardTextBox.Text = objInfo.CreditCardNumber;
                    else
                        CreditCardTextBox.Text = "";                   

                    if (objInfo.LinkWS != null)
                        LinkWSTextBox.Text = objInfo.LinkWS;
                    else
                        LinkWSTextBox.Text = "";


                }
            }
        }
        else
        {
            if (InValidateForm() == false && Request.Form["act"] != null)
            {
                NhaKinhDoanhDataContext db = new NhaKinhDoanhDataContext();
                var objQuery = (from obj in db.NhaCungCaps
                                where obj.ProviderID.Equals(MaNhaCungCapLabel.Text.Trim())
                                select obj).Single();
                //objQuery.ProviderPwd = MD5Hash.GetMd5Hash(MatKhauNhaCungCapTextBox.Text.Trim());
                objQuery.ProviderPwd = MatKhauNhaCungCapTextBox.Text.Trim();
                objQuery.ProviderName = TenNhaCungCapTextBox.Text.Trim();
                objQuery.PartnerID = TenDangNhapWSTextBox.Text.Trim();
                //objQuery.PartnerPwd = MD5Hash.GetMd5Hash(MatKhauWSTextBox.Text.Trim());
                objQuery.PartnerPwd = MatKhauWSTextBox.Text.Trim();
                objQuery.CreditCardNumber = CreditCardTextBox.Text.Trim();               
                objQuery.LinkWS = LinkWSTextBox.Text.Trim();

                db.SubmitChanges();
                NotificationMessage.InnerHtml =NotificationHelper.SetNotification(NotificationHelper.Notification.success,string.Format("Thông tin nhà cung cấp <strong>{0}</strong> đã được cập nhật thành công.", objQuery.ProviderName));
            }
        }


    }

    public bool InValidateForm()
    {
        bool error = false;

        if (MaNhaCungCapLabel.Text.Trim() == "")
            error = true;

        if (MatKhauNhaCungCapTextBox.Text == "")
        {
            MatKhauNhaCungCapTextBox.Focus();
            ErrorMatKhauNhaCungCapTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorMatKhauNhaCungCapTextBox.InnerHtml = "";

        if (TenNhaCungCapTextBox.Text == "")
        {
            TenNhaCungCapTextBox.Focus();
            ErrorTenNhaCungCapTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorTenNhaCungCapTextBox.InnerHtml = "";



        if (TenDangNhapWSTextBox.Text == "")
        {
            TenDangNhapWSTextBox.Focus();
            ErrorTenDangNhapWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorTenDangNhapWSTextBox.InnerHtml = "";


        if (MatKhauWSTextBox.Text == "")
        {
            MatKhauWSTextBox.Focus();
            ErrorMatKhauWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorMatKhauWSTextBox.InnerHtml = "";


        if (CreditCardTextBox.Text == "")
        {
            CreditCardTextBox.Focus();
            ErrorCreditCardTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorCreditCardTextBox.InnerHtml = "";
       

        if (LinkWSTextBox.Text == "")
        {
            LinkWSTextBox.Focus();
            ErrorLinkWSTextBox.InnerHtml = "Thuộc tính được yêu cầu.";
            error = true;
        }
        else
            ErrorLinkWSTextBox.InnerHtml = "";
        if (error)
            NotificationMessage.InnerHtml = NotificationHelper.SetNotification(NotificationHelper.Notification.error, "Bạn hãy kiểm tra lại các thông tin lỗi.");

        return error;
    }
}